package com.cy.pj.module.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ModuleController {//代表任意模块的controller

    @RequestMapping("doCompute/{n1}/{n2}")
    @ResponseBody//把结果写入到响应体中以字符串的形式输出
    public String doCompute(@PathVariable Integer n1, @PathVariable Integer n2) {
        //try{
        Integer result = n1 / n2;
        return "rest is" + result;
        // }catch (java.lang.ArithmeticException e){
        //return "Result is" +e.getMessage();
        //     e.printStackTrace();
        //log.info("exception {}",e.getMessage());//底层记录一下异常
        //     return "除数不能为0";
        //思考：一个Controller类可能有很多方法，每个方法都会出现异常，假如每个方法都进行trycatch就会有大量的代码冗余
        //   }
    }
//NullPointerException
/*    @ExceptionHandler(ArithmeticException.class)//这个注解描述的方法为处理算数异常的类型
    @ResponseBody
    public String doHandleArithmeticException(ArithmeticException e) {//在这个方法内部要拿到异常对象，在方法里定义这个异常对象
        e.printStackTrace();
        System.out.println("ModuleController.doHandleArithmeticException");
        return "计算过程中出现了异常，异常信息为" + e.getMessage();
    }*/
}
